package tugou

// import (
// 	"errors"
// 	"sync"
// 	"tugou/logs"
// )

// type manageModules struct { //模块集合
// 	lock    sync.RWMutex //这个是锁
// 	content map[string]*manageModule
// }

// func (this *manageModules) init() { //初始化
// 	logs.Debug("ManageModules初始化")
// 	this.content = make(map[string]*manageModule)
// }
// func (this *manageModules) RegModule(extend ModuleI, maxCount int) error { //注册模块
// 	manageModule := &manageModule{}
// 	name := manageModule.Reg(extend, maxCount)
// 	this.lock.Lock()
// 	_, ok := this.content[name]
// 	if ok {
// 		this.lock.Unlock()
// 		return errors.New("注册[" + name + "]模块已经存在")
// 	}

// 	this.content[name] = manageModule
// 	this.lock.Unlock()
// 	logs.Info("注册["+name+"]模块成功", this.content["test"], *this)
// 	return nil
// }
// func (this *manageModules) joinModule(module ModuleI) error { //加入模块
// 	name := module.OnGetName()
// 	this.lock.RLock()
// 	manageModule, ok := this.content[name]
// 	this.lock.RUnlock()
// 	if ok {
// 		return manageModule.joinModule(module)

// 	}
// 	return errors.New("模块管理-添加模块:没有找到模块[" + name + "]")
// }
// func (this *manageModules) quitModule(name, id string) error { //退出模块
// 	this.lock.RLock()
// 	manageModule, ok := this.content[name]
// 	this.lock.RUnlock()
// 	if ok {

// 		return manageModule.quitModule(id)
// 	}
// 	return errors.New("模块管理-退出模块:没有找到模块[" + name + "]")
// }
// func (this *manageModules) creatModule(name string, data interface{}) (ModuleI, error) { //创建模块
// 	this.lock.RLock()
// 	manageModule, ok := this.content[name]
// 	this.lock.RUnlock()
// 	logs.Debug("查看已经注册模块", this.content, *this)
// 	if ok {
// 		return manageModule.creat(), nil
// 	}
// 	return nil, errors.New("模块管理-创建模块:没有找到模块[" + name + "]")
// }
// func (this *manageModules) findModule(name, id string) (ModuleI, error) {
// 	ms, ok := this.content[name]
// 	if ok {
// 		m, err := ms.findModule(id)
// 		if err != nil {
// 			return nil, err
// 		}
// 		return m, nil
// 	}

// 	return nil, Err_Module_No_Reg
// }
